﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NLog;

namespace Vit.Web.Services
{
    public class NLogProvider : ILogProvider
    {
        #region ILogProvider Members

        public void Info(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Info(obj);
        }

        public void Info(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Info(message);
        }

        public void Info(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Info(message, args);
        }

        public void Info(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Info(formatProvider, obj);
        }

        public void Info(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Info(formatProvider, message, args);
        }

        public void Debug(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Debug(obj);
        }

        public void Debug(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Debug(message);
        }

        public void Debug(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Debug(message, args);
        }

        public void Debug(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Debug(formatProvider, obj);
        }

        public void Debug(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Debug(formatProvider, message, args);
        }

        public void Error(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Error(obj);
        }

        public void Error(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Error(message);
        }

        public void Error(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Error(message, args);
        }

        public void Error(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Error(formatProvider, obj);
        }

        public void Error(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Error(formatProvider, message, args);
        }

        public void Fatal(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Fatal(obj);
        }

        public void Fatal(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Fatal(message);
        }

        public void Fatal(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Fatal(message, args);
        }

        public void Fatal(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Fatal(formatProvider, obj);
        }

        public void Fatal(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Fatal(formatProvider, message, args);
        }

        public void Trace(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Trace(obj);
        }

        public void Trace(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Trace(message);
        }

        public void Trace(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Trace(message, args);
        }

        public void Trace(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Trace(formatProvider, obj);
        }

        public void Trace(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Trace(formatProvider, message, args);
        }

        public void Warn(string category, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Warn(obj);
        }

        public void Warn(string category, string message)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Warn(message);
        }

        public void Warn(string category, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Warn(message, args);
        }

        public void Warn(string category, IFormatProvider formatProvider, object obj)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Warn(formatProvider, obj);
        }

        public void Warn(string category, IFormatProvider formatProvider, string message, params object[] args)
        {
            Logger logger = LogManager.GetLogger(category);
            logger.Warn(formatProvider, message, args);
        }

        #endregion
    }
}
